package com.hyt.it.ogt.kq.service.bm.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.hyt.it.ogt.kq.common.bm.config.serializable.DateSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

@Data
@Builder
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "StudentExamRecordVo对象", description = "考生考试记录对象")
public class StudentExamRecordVo {

    @ApiModelProperty(value = "考试ID", example = "049e422a3d9b49e6b0f1877ce3931c70")
    private String examId;

    @ApiModelProperty(value = "考试名称", example = "育婴师职业技能等级考核")
    private String examName;

    @ApiModelProperty(value = "开始考试时间", example = "2022-3-30 16:01:25")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    @JsonSerialize(using = DateSerializer.class)
    private Date beginTime;

    @ApiModelProperty(value = "结束考试时间", example = "2022-3-30 16:01:25")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    @JsonSerialize(using = DateSerializer.class)
    private Date endTime;

    @ApiModelProperty(value = "准考证号", example = "K256258646007")
    private String admissionNo;

    @ApiModelProperty(value = "考试科目名称", example = "语文")
    private String subjectName;

    @ApiModelProperty(value = "考试结果名称", example = "优秀")
    private String qualifiedStatusName;

    @ApiModelProperty(value = "总分", example = "85.99")
    private BigDecimal allScore;

    @ApiModelProperty(value = "复核状态(0未复核；1复核待回复；2,复核已回复)", example = "0")
    private Integer reviewStatus;

    @ApiModelProperty(value = "考生ID")
    private String examineeId;

    @ApiModelProperty(value = "发布状态(0:未发布;1:已发布)")
    private Boolean publishStatus;

    @ApiModelProperty(value = "显示试卷(0:不显示;1:显示)")
    private Boolean showPaperStatus;
}
